<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
// 构造join函数：
// 把数组的索引元素放入一个字符串，元素通过指定的分隔符进行分隔
// 该方法不会对原数组产生影响，而是将转换后的字符串作为结果返回
// 在join()中可以指定一个字符串作为参数，这个字符串将会成为数组中元素的连接符

function array_join(arr,separator){
    if(arr==undefined || arr.constructor!==Array) throw new Error("错误参数");
    if(separator===undefined) separator=",";
    separator=String(separator);
    var str="";
    for(var i=0; i<arr.length-1;i++){
        str+=arr[i]+separator;

    }
    str+=arr[arr.length-1];
    return str;
}
var arr=[1,2,3,4];
var str = array_join(arr,null);
console.log(str);

1-当数组不存在或者不是数组的情况
2-参数为undefined的情况
3-将参数转换为字符串
4-考虑到最后一位特殊情况




    </script>
</body>
</html>